home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 43.zip / Sources C- WorkDisk V.adf / peck / list4.c < prev    next >
C/C++ Source or Header  |  1987-02-15  |  813b  |  45 lines

  1.  
  2. /* list example 3.1. p.57 Peck */
  3.  
  4. #include "exec/types.h"
  5. #include "exec/lists.h"
  6.  
  7. struct MyListItem
  8. {
  9.  struct Node n;
  10.  int x,y ;
  11. };
  12.  
  13. main()
  14. {
  15.  struct MyListItem mli[9];
  16.  struct MyListItem *mynode;
  17.  struct List MyListHead;
  18.  int i;
  19.  
  20.  NewList(&MyListHead); /* init the list header */
  21.  
  22. /* MyListHead.lh_Head = &MyListHead.lh_Tail;
  23.    MyListHead.lh_TailPred = &MyListHead.lh_Head;
  24.    MyListHead.lh_Tail =0; */
  25.  
  26.  
  27.  for(i=0;i<9;i++)
  28.  {
  29.   mli[i].x=i;
  30.   mli[i].y=i;
  31.   AddTail(&MyListHead, &mli[i]);
  32.   printf("Just included item nr %d whose (x,y) is (%d,%d)\n",i,mli[i].x,mli[i].y);
  33.  }
  34.  
  35.  while(MyListHead.lh_TailPred != &MyListHead.lh_Head)
  36.  {
  37.   mynode = (struct MyListItem *) RemHead(&MyListHead);
  38.   printf("Just removed item whose (x,y) data is (%d,%d)\n",mynode->x,mynode->y);
  39.  }
  40.  
  41. } /* ====== end of main ====== */
  42.  
  43.  
  44.  
  45.